<template>
  <!-- 1、引入首页模板 -->
  <!-- 主体容器 -->
  <el-container class="layout">
    <!-- 左侧侧边栏 -->
    <!-- 宽度三元判断触发 isopen 初始为false 展开 触发点击 true 闭合 -->
    <el-aside :width="isOpen ? '200px' : '64px'">
      <!-- logo  -->
      <div class="logo" :class="{ minlogo: !isOpen }"></div>

      <el-col :span="12">
        <!-- :collapse-transition="false" 关闭动画效果
          :collapse="!isOpen" 展开false 显示文字  闭合true隐藏文字 -->

        <!--:default-active="$route.path" 获取动态路由 -->
        <!-- router 实现路径跳转  以index值为路径 -->
        <el-menu
          :default-active="$route.path"
          background-color="#002233"
          text-color="#fff"
          style="border-right:none"
          active-text-color="#ffd04b"
          :collapse-transition="false"
          :collapse="!isOpen"
          router
        >
          <el-menu-item index="/welcome">
            <i class="el-icon-s-home"></i>
            <span slot="title">首页</span>
          </el-menu-item>

          <el-menu-item index="/article">
            <i class="el-icon-tickets"></i>
            <span slot="title">内容管理</span>
          </el-menu-item>

          <el-menu-item index="/image">
            <i class="el-icon-picture"></i>
            <span slot="title">素材管理</span>
          </el-menu-item>
          <el-menu-item index="/publish">
            <i class="el-icon-s-promotion"></i>
            <span slot="title">发布文章</span>
          </el-menu-item>
          <el-menu-item index="/comment">
            <i class="el-icon-chat-dot-square"></i>
            <span slot="title">评论管理</span>
          </el-menu-item>
          <el-menu-item index="/fans">
            <i class="el-icon-present"></i>
            <span slot="title">粉丝管理</span>
          </el-menu-item>
          <el-menu-item index="/setting">
            <i class="el-icon-setting"></i>
            <span slot="title">个人设置</span>
          </el-menu-item>
        </el-menu>
      </el-col>
    </el-aside>
    <el-container>
      <!-- 头部区域 -->
      <el-header>
        <!-- 右侧内容 -->
        <!-- 主框绑定点击事件任意触发 -->
        <!-- 判断 切换icon如果isOpen为true就展开 false闭合 -->
        <span
          @click="clickIcon"
          class="icon"
          :class="{ 'el-icon-s-fold': isOpen, 'el-icon-s-unfold': !isOpen }"
        ></span>
        <span class="text"> 江苏传智播客科技教育有限公司</span>
        <!-- 左侧下拉内容 -->
        <!-- 绑定点击触发事件 回调函数传参执行 -->
        <el-dropdown @command="clickItem">
          <!-- getUser n内获取  图片和姓名  进行赋值 -->
          <span>
            <img class="myimg" :src="userInfo.photo" alt="" />
            <span class="name">{{ userInfo.name }}</span>
            <i class="el-icon-arrow-down "></i>
          </span>
          <el-dropdown-menu slot="dropdown">
            <!-- <command> 赋值 触发传递出发当前事件 -->
            <el-dropdown-item command="setting" icon="el-icon-setting"
              >个人设置</el-dropdown-item
            >
            <!-- <command>赋值 触发传递出发当前事件 -->
            <el-dropdown-item command="logout" icon="el-icon-unlock"
              >退出登录</el-dropdown-item
            >
          </el-dropdown-menu>
        </el-dropdown>
      </el-header>
      <!-- 内容区域 -->
      <el-main>
        <router-view></router-view>
      </el-main>
    </el-container>
  </el-container>
</template>

<script>
import auth from "@/utils/auth";
//  导入事件总线
import eventBus from "@/eventBus";
export default {
  data() {
    return {
      // 默认展开
      isOpen: true,
      userInfo: {
        photo: "",
        name: ""
      }
    };
  },
  // 自执行 获取姓名 和图片
  created() {
    const { photo, name } = auth.getUser();
    this.userInfo = { photo, name };
    console.log(this.userInfo);
    // 接收setting 事件总线绑定 接收修改的名称
    eventBus.$on("Modify_name", data => {
      // 回调函数  赋值到用户名称
      this.userInfo.name = data;
    });
    eventBus.$on("replace_photo", data => {
      // 回调函数  赋值到用户名称
      this.userInfo.photo = data;
    });
  },
  methods: {
    // 绑定点击事件
    clickIcon() {
      this.isOpen = !this.isOpen;
    },
    // 个人设置
    setting() {
      this.$router.push("/setting");
    },
    // 退出登录
    logout() {
      //  删除本地用户信息
      auth.delUser();
      //  跳出登录页面
      this.$router.push("/login");
    },
    // 点击下拉菜单选项
    clickItem(command) {
      console.log(command);
      console.log("111");
      this[command]();
    }
  }
};
</script>

<style scoped lang="less">
// 容器样式
.layout {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  // 左侧侧边栏
  .el-aside {
    background: #002233;
    .logo {
      width: 100%;
      height: 60px;
      background: #002244 url(../assets/logo_admin.png) no-repeat center / 140px
        auto;
    }
    .minlogo {
      background: #002244 url(../assets/logo_admin_01.png) no-repeat center /
        36px;
    }
  }
  //  头部样式
  .el-header {
    border-bottom: 1px solid #eeeeee;
    line-height: 60px;
    .icon {
      font-size: 24px;
      vertical-align: middle;
    }
    .text {
      vertical-align: middle;
      margin-left: 10pxs;
    }
    // 左侧下拉
    .el-dropdown {
      float: right;
      // 头像
      .myimg {
        width: 30px;
        height: 30px;
        vertical-align: middle;
        margin-right: 5px;
      }
      //  姓名
      .name {
        font-weight: bold;
        color: #333;
        vertical-align: middle;
      }
    }
  }
}
</style>
